<?php
/**
 * CRUD de credenciados
 * 
 * @author Vinicius Rodrigues (viniciusmr3@gmail.com)
 * @since 22/11/2012
 */
//necessário para todas as páginas do admin (facilitador)
include("defaultAdmin.php");
require_once(PASTA_DAO."Credenciado.class.php");
require_once(PASTA_DAO."Endereco.class.php");
require_once(FWK_UTIL."GeradorSenha.class.php");

//verificação se o usuário esta logado, cado contrário, este será redirecionado para o login.
if($objUsrSession->getIdAdministrador() == 0){
	HttpUtil::vaiPara("login.php?msg=1");
}


/**
 * VERIFICAÇÃO DA TELA QUE SERÁ EXIBIDA
 */
 if(!isset($_GET["id"]))
	$id = "";
else
	$id = (int)$_GET["id"];
if(!is_numeric($id) || $id == 0 || $id=="") 
	$id = null;
$objCtrlSmarty->assign("id_credenciado",$id);
$objCredenciado = new Credenciado();
$objEndereco = new Endereco();

if(!isset($_GET["a"]))
	$_GET["a"] = "";
switch ($_GET["a"]){
	case 'form':
		if(isset($id)){
			//busco os dados do banco
			$arrCampos = $objCredenciado->buscaCampos($id);
			$arrCamposEnderecos = $objEndereco->buscaCampos($arrCampos["id_endereco"]);

			//seto no formulário os valores dos campos automaticamente
			foreach ($arrCampos as $nomeCampo => $fieldData) {
				switch ($nomeCampo){
					case "img1_credenciado":
					case "img2_credenciado":
					case "img3_credenciado": 
					case "img4_credenciado":
						if(isset($fieldData) && $fieldData!=""){
							$objCtrlSmarty->assign($nomeCampo."_thumb",base64_encode(serialize(array("img"=>utf8_encode($fieldData), "w"=>"415","h"=>"100", "filename" => PASTA_UPLOADS_ARQUIVOS."credenciado/"))));
							$objCtrlSmarty->assign($nomeCampo,base64_encode(serialize(array("img"=>utf8_encode($fieldData), "w"=>"600","h"=>"400", "filename" => PASTA_UPLOADS_ARQUIVOS."credenciado/"))));
						}
					break;
					default:
						$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
					break;
				}
			}
			
			//seta no formulário os valores dos campos de endereço automaticamente
			foreach ($arrCamposEnderecos as $nomeCampo => $fieldData) {
				$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
			}
		}
		$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/formCredenciados.tpl"));
		break;
	case 'post':
		try{
			
			//validação preguiça de fazer em javascript
			$arrErros = array();
			if($_POST["nome_credenciado"]=="")
				$arrErros["MENS_ERRO_NOME"] = "O nome é obrigatório";
			if($_POST["id_categoria"]=="")
				$arrErros["MENS_ERRO_CATEGORIA"] = "A categoria é obrigatória";				
			if($_POST["cnpj_credenciado"]=="")
				$arrErros["MENS_ERRO_CNPJ"] = "O CNPJ é obrigatório";
			if($_POST["logradouro_endereco"]=="")
				$arrErros["MENS_ERRO_LOGRADOURO"] = "O logradouro é obrigatório";
			if($_POST["numero_endereco"]=="")
				$arrErros["MENS_ERRO_NUMERO"] = "O número é obrigatório";
			if($_POST["bairro_endereco"]=="")
				$arrErros["MENS_ERRO_BAIRRO"] = "O bairro é obrigatório";
			if($_POST["cidade_endereco"]=="")
				$arrErros["MENS_ERRO_CIDADE"] = "A cidade é obrigatória";
			if($_POST["id_estado"]=="")
				$arrErros["MENS_ERRO_ESTADO"] = "O estado é obrigatório";	
			//fim validação dos dados
			
			if(count($arrErros) == 0){
				$id = (int)$_POST["id_credenciado"];
				if(!is_numeric($id) || $id == 0 || $id=="") 
					$id = null;
					
				$idEndereco = (int)$_POST["id_endereco"];
				if(!is_numeric($idEndereco) || $idEndereco == 0 || $idEndereco=="") 
					$idEndereco = null;
					
				$objEndereco->alterar($idEndereco,$_POST);
				
				$_POST["id_endereco"] = $objEndereco->id_endereco;
				
				$senha = GeradorSenha::gerarSenha();
				$_POST["senha"] = base64_encode(md5($senha));
				
				
				
				$objCredenciado->alterar($id,$_POST,$_FILES);
					
				if($id == null) {	
					//$destinatario  =  $arrCampos["email_usuario"];//"andreccls@gmail.com";
					$destinatario = $_POST["email"];
					
					
					$assunto = "Platinum - Confirmação de Cadastro";
					$mensagem = "
							<html>
								<head>
								 	<title>Platinum - Confirmação de cadastro</title>
								</head>
								<body>
									<p>Seja Bem Vindo ao Platinum Prima Linea.
									</p><br/>
									
									<p>Esta é a sua senha de acesso à área do credenciado: ".$senha."</p><br/>
									<p>Endereço de acesso:</p><br/>
									
									<a href='http://www.primalinea.com.br/platinum/credenciado'>http://www.primalinea.com.br/platinum/credenciado</a><br/><br/>
									<p>Ao acessar você poderá consultar e validar os vouchers utilizados em seu estabelecimento.</p><br/>
									<p>Atenção: É importante que os vouchers utilizados em seu estabelecimento sejam validados, para assim ser realizado o seu pagamento.
									</p><br/>
									<p>Qualquer dúvida entre em contato: platinum@primalinea.com.br - (31) 3225.2041</p><br/>
									Atenciosamente,<br/>
									Equipe Prima Linea.
									
								</body>
							</html>";
					$cabecalhos  = "MIME-Version: 1.0" . "\r\n";
					$cabecalhos .= "Content-type: text/html; charset=utf-8" . "\r\n";
					$cabecalhos .= "To: Contato <".$destinatario.">" . "\r\n";
					//$cabecalhos .= "From: ".$_POST["nome_contato"]." <".$_POST["email_contato"].">" . "\r\n";
					$cabecalhos .= "From: Platinum - Prima Linea <platinum@primalinea.com.br>" . "\r\n";
					
					mail($destinatario, $assunto, $mensagem, $cabecalhos, '-fandreccls@gmail.com');
				}
				HttpUtil::vaiPara("CrudCredenciados.php?msg=3");
			}else{
				//loop para preencher, em caso de erro, o formulário
				foreach ($_POST as $nomeCampo => $fieldData) {
					$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
				}
				
				//loop para setar os lugares com os erros
				foreach ($arrErros as $nomeErro => $conteudo) {
					$objCtrlSmarty->assign($nomeErro,$conteudo);
				}
				//exibo o form aqui
				$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/formCredenciados.tpl"));
			}
		}catch(CustonException $e){
			HttpUtil::vaiPara("CrudCredenciados.php?msg=5");
		}
		break;
	case 'excluir':
		//exclusão do arquivo físico, se existir
		try{
			$objCredenciado->apagaArquivoFisico($id,"img1_credenciado",PASTA_UPLOADS_ARQUIVOS."credenciado/");
			$objCredenciado->apagaArquivoFisico($id,"img2_credenciado",PASTA_UPLOADS_ARQUIVOS."credenciado/");
			$objCredenciado->apagaArquivoFisico($id,"img3_credenciado",PASTA_UPLOADS_ARQUIVOS."credenciado/");
			$objCredenciado->apagaArquivoFisico($id,"img4_credenciado",PASTA_UPLOADS_ARQUIVOS."credenciado/");
		}catch (CustonException $e ){}
			$objCredenciado->deletar($id);
			HttpUtil::vaiPara("CrudCredenciados.php?msg=4");
		break;
	
	case 'lista':
	default:
		if(isset($_GET["p"]) && $_GET["p"]!="" && is_numeric($_GET["p"]))
			$pagAtual = (int)$_GET["p"];
		else 
			$pagAtual = 0;	
		$objCtrlSmarty->assign("pagAtual", $pagAtual);
		$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/listaCredenciados.tpl"));
	break;

}

//definição da estrutura do admin <cabecalho, corpo e rodape>
$objCtrlSmarty->assign("ESTRUTURA",$objCtrlSmarty->fetch(TPLS_FILE."admin/adminEstrutura.tpl"));

//ultima coisa que deve ter no arquivo, serve para imprimir a tela
$objCtrlSmarty->display(TPLS_FILE."index.tpl");
?>